package net.expectx.pay.dao.bean;

import net.expectx.common.single.base.BaseExample;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

public class ProductOrderPaymentRecordExample extends BaseExample implements Serializable {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private static final long serialVersionUID = 1L;

    public ProductOrderPaymentRecordExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria implements Serializable {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andRecordIdIsNull() {
            addCriterion("record_id is null");
            return (Criteria) this;
        }

        public Criteria andRecordIdIsNotNull() {
            addCriterion("record_id is not null");
            return (Criteria) this;
        }

        public Criteria andRecordIdEqualTo(String value) {
            addCriterion("record_id =", value, "recordId");
            return (Criteria) this;
        }

        public Criteria andRecordIdNotEqualTo(String value) {
            addCriterion("record_id <>", value, "recordId");
            return (Criteria) this;
        }

        public Criteria andRecordIdGreaterThan(String value) {
            addCriterion("record_id >", value, "recordId");
            return (Criteria) this;
        }

        public Criteria andRecordIdGreaterThanOrEqualTo(String value) {
            addCriterion("record_id >=", value, "recordId");
            return (Criteria) this;
        }

        public Criteria andRecordIdLessThan(String value) {
            addCriterion("record_id <", value, "recordId");
            return (Criteria) this;
        }

        public Criteria andRecordIdLessThanOrEqualTo(String value) {
            addCriterion("record_id <=", value, "recordId");
            return (Criteria) this;
        }

        public Criteria andRecordIdLike(String value) {
            addCriterion("record_id like", value, "recordId");
            return (Criteria) this;
        }

        public Criteria andRecordIdNotLike(String value) {
            addCriterion("record_id not like", value, "recordId");
            return (Criteria) this;
        }

        public Criteria andRecordIdIn(List<String> values) {
            addCriterion("record_id in", values, "recordId");
            return (Criteria) this;
        }

        public Criteria andRecordIdNotIn(List<String> values) {
            addCriterion("record_id not in", values, "recordId");
            return (Criteria) this;
        }

        public Criteria andRecordIdBetween(String value1, String value2) {
            addCriterion("record_id between", value1, value2, "recordId");
            return (Criteria) this;
        }

        public Criteria andRecordIdNotBetween(String value1, String value2) {
            addCriterion("record_id not between", value1, value2, "recordId");
            return (Criteria) this;
        }

        public Criteria andOrderIdIsNull() {
            addCriterion("order_id is null");
            return (Criteria) this;
        }

        public Criteria andOrderIdIsNotNull() {
            addCriterion("order_id is not null");
            return (Criteria) this;
        }

        public Criteria andOrderIdEqualTo(String value) {
            addCriterion("order_id =", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotEqualTo(String value) {
            addCriterion("order_id <>", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThan(String value) {
            addCriterion("order_id >", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThanOrEqualTo(String value) {
            addCriterion("order_id >=", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThan(String value) {
            addCriterion("order_id <", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThanOrEqualTo(String value) {
            addCriterion("order_id <=", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLike(String value) {
            addCriterion("order_id like", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotLike(String value) {
            addCriterion("order_id not like", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdIn(List<String> values) {
            addCriterion("order_id in", values, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotIn(List<String> values) {
            addCriterion("order_id not in", values, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdBetween(String value1, String value2) {
            addCriterion("order_id between", value1, value2, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotBetween(String value1, String value2) {
            addCriterion("order_id not between", value1, value2, "orderId");
            return (Criteria) this;
        }

        public Criteria andGmtCreateIsNull() {
            addCriterion("gmt_create is null");
            return (Criteria) this;
        }

        public Criteria andGmtCreateIsNotNull() {
            addCriterion("gmt_create is not null");
            return (Criteria) this;
        }

        public Criteria andGmtCreateEqualTo(Long value) {
            addCriterion("gmt_create =", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateNotEqualTo(Long value) {
            addCriterion("gmt_create <>", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateGreaterThan(Long value) {
            addCriterion("gmt_create >", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateGreaterThanOrEqualTo(Long value) {
            addCriterion("gmt_create >=", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateLessThan(Long value) {
            addCriterion("gmt_create <", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateLessThanOrEqualTo(Long value) {
            addCriterion("gmt_create <=", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateIn(List<Long> values) {
            addCriterion("gmt_create in", values, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateNotIn(List<Long> values) {
            addCriterion("gmt_create not in", values, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateBetween(Long value1, Long value2) {
            addCriterion("gmt_create between", value1, value2, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateNotBetween(Long value1, Long value2) {
            addCriterion("gmt_create not between", value1, value2, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedIsNull() {
            addCriterion("gmt_modified is null");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedIsNotNull() {
            addCriterion("gmt_modified is not null");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedEqualTo(Long value) {
            addCriterion("gmt_modified =", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedNotEqualTo(Long value) {
            addCriterion("gmt_modified <>", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedGreaterThan(Long value) {
            addCriterion("gmt_modified >", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedGreaterThanOrEqualTo(Long value) {
            addCriterion("gmt_modified >=", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedLessThan(Long value) {
            addCriterion("gmt_modified <", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedLessThanOrEqualTo(Long value) {
            addCriterion("gmt_modified <=", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedIn(List<Long> values) {
            addCriterion("gmt_modified in", values, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedNotIn(List<Long> values) {
            addCriterion("gmt_modified not in", values, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedBetween(Long value1, Long value2) {
            addCriterion("gmt_modified between", value1, value2, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedNotBetween(Long value1, Long value2) {
            addCriterion("gmt_modified not between", value1, value2, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andIsDeletedIsNull() {
            addCriterion("is_deleted is null");
            return (Criteria) this;
        }

        public Criteria andIsDeletedIsNotNull() {
            addCriterion("is_deleted is not null");
            return (Criteria) this;
        }

        public Criteria andIsDeletedEqualTo(Byte value) {
            addCriterion("is_deleted =", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedNotEqualTo(Byte value) {
            addCriterion("is_deleted <>", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedGreaterThan(Byte value) {
            addCriterion("is_deleted >", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedGreaterThanOrEqualTo(Byte value) {
            addCriterion("is_deleted >=", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedLessThan(Byte value) {
            addCriterion("is_deleted <", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedLessThanOrEqualTo(Byte value) {
            addCriterion("is_deleted <=", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedIn(List<Byte> values) {
            addCriterion("is_deleted in", values, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedNotIn(List<Byte> values) {
            addCriterion("is_deleted not in", values, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedBetween(Byte value1, Byte value2) {
            addCriterion("is_deleted between", value1, value2, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedNotBetween(Byte value1, Byte value2) {
            addCriterion("is_deleted not between", value1, value2, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andTradeNoIsNull() {
            addCriterion("trade_no is null");
            return (Criteria) this;
        }

        public Criteria andTradeNoIsNotNull() {
            addCriterion("trade_no is not null");
            return (Criteria) this;
        }

        public Criteria andTradeNoEqualTo(String value) {
            addCriterion("trade_no =", value, "tradeNo");
            return (Criteria) this;
        }

        public Criteria andTradeNoNotEqualTo(String value) {
            addCriterion("trade_no <>", value, "tradeNo");
            return (Criteria) this;
        }

        public Criteria andTradeNoGreaterThan(String value) {
            addCriterion("trade_no >", value, "tradeNo");
            return (Criteria) this;
        }

        public Criteria andTradeNoGreaterThanOrEqualTo(String value) {
            addCriterion("trade_no >=", value, "tradeNo");
            return (Criteria) this;
        }

        public Criteria andTradeNoLessThan(String value) {
            addCriterion("trade_no <", value, "tradeNo");
            return (Criteria) this;
        }

        public Criteria andTradeNoLessThanOrEqualTo(String value) {
            addCriterion("trade_no <=", value, "tradeNo");
            return (Criteria) this;
        }

        public Criteria andTradeNoLike(String value) {
            addCriterion("trade_no like", value, "tradeNo");
            return (Criteria) this;
        }

        public Criteria andTradeNoNotLike(String value) {
            addCriterion("trade_no not like", value, "tradeNo");
            return (Criteria) this;
        }

        public Criteria andTradeNoIn(List<String> values) {
            addCriterion("trade_no in", values, "tradeNo");
            return (Criteria) this;
        }

        public Criteria andTradeNoNotIn(List<String> values) {
            addCriterion("trade_no not in", values, "tradeNo");
            return (Criteria) this;
        }

        public Criteria andTradeNoBetween(String value1, String value2) {
            addCriterion("trade_no between", value1, value2, "tradeNo");
            return (Criteria) this;
        }

        public Criteria andTradeNoNotBetween(String value1, String value2) {
            addCriterion("trade_no not between", value1, value2, "tradeNo");
            return (Criteria) this;
        }

        public Criteria andTotalFeeIsNull() {
            addCriterion("total_fee is null");
            return (Criteria) this;
        }

        public Criteria andTotalFeeIsNotNull() {
            addCriterion("total_fee is not null");
            return (Criteria) this;
        }

        public Criteria andTotalFeeEqualTo(BigDecimal value) {
            addCriterion("total_fee =", value, "totalFee");
            return (Criteria) this;
        }

        public Criteria andTotalFeeNotEqualTo(BigDecimal value) {
            addCriterion("total_fee <>", value, "totalFee");
            return (Criteria) this;
        }

        public Criteria andTotalFeeGreaterThan(BigDecimal value) {
            addCriterion("total_fee >", value, "totalFee");
            return (Criteria) this;
        }

        public Criteria andTotalFeeGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("total_fee >=", value, "totalFee");
            return (Criteria) this;
        }

        public Criteria andTotalFeeLessThan(BigDecimal value) {
            addCriterion("total_fee <", value, "totalFee");
            return (Criteria) this;
        }

        public Criteria andTotalFeeLessThanOrEqualTo(BigDecimal value) {
            addCriterion("total_fee <=", value, "totalFee");
            return (Criteria) this;
        }

        public Criteria andTotalFeeIn(List<BigDecimal> values) {
            addCriterion("total_fee in", values, "totalFee");
            return (Criteria) this;
        }

        public Criteria andTotalFeeNotIn(List<BigDecimal> values) {
            addCriterion("total_fee not in", values, "totalFee");
            return (Criteria) this;
        }

        public Criteria andTotalFeeBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("total_fee between", value1, value2, "totalFee");
            return (Criteria) this;
        }

        public Criteria andTotalFeeNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("total_fee not between", value1, value2, "totalFee");
            return (Criteria) this;
        }

        public Criteria andPayStatusIsNull() {
            addCriterion("pay_status is null");
            return (Criteria) this;
        }

        public Criteria andPayStatusIsNotNull() {
            addCriterion("pay_status is not null");
            return (Criteria) this;
        }

        public Criteria andPayStatusEqualTo(String value) {
            addCriterion("pay_status =", value, "payStatus");
            return (Criteria) this;
        }

        public Criteria andPayStatusNotEqualTo(String value) {
            addCriterion("pay_status <>", value, "payStatus");
            return (Criteria) this;
        }

        public Criteria andPayStatusGreaterThan(String value) {
            addCriterion("pay_status >", value, "payStatus");
            return (Criteria) this;
        }

        public Criteria andPayStatusGreaterThanOrEqualTo(String value) {
            addCriterion("pay_status >=", value, "payStatus");
            return (Criteria) this;
        }

        public Criteria andPayStatusLessThan(String value) {
            addCriterion("pay_status <", value, "payStatus");
            return (Criteria) this;
        }

        public Criteria andPayStatusLessThanOrEqualTo(String value) {
            addCriterion("pay_status <=", value, "payStatus");
            return (Criteria) this;
        }

        public Criteria andPayStatusLike(String value) {
            addCriterion("pay_status like", value, "payStatus");
            return (Criteria) this;
        }

        public Criteria andPayStatusNotLike(String value) {
            addCriterion("pay_status not like", value, "payStatus");
            return (Criteria) this;
        }

        public Criteria andPayStatusIn(List<String> values) {
            addCriterion("pay_status in", values, "payStatus");
            return (Criteria) this;
        }

        public Criteria andPayStatusNotIn(List<String> values) {
            addCriterion("pay_status not in", values, "payStatus");
            return (Criteria) this;
        }

        public Criteria andPayStatusBetween(String value1, String value2) {
            addCriterion("pay_status between", value1, value2, "payStatus");
            return (Criteria) this;
        }

        public Criteria andPayStatusNotBetween(String value1, String value2) {
            addCriterion("pay_status not between", value1, value2, "payStatus");
            return (Criteria) this;
        }

        public Criteria andFinishTimeIsNull() {
            addCriterion("finish_time is null");
            return (Criteria) this;
        }

        public Criteria andFinishTimeIsNotNull() {
            addCriterion("finish_time is not null");
            return (Criteria) this;
        }

        public Criteria andFinishTimeEqualTo(Long value) {
            addCriterion("finish_time =", value, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeNotEqualTo(Long value) {
            addCriterion("finish_time <>", value, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeGreaterThan(Long value) {
            addCriterion("finish_time >", value, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeGreaterThanOrEqualTo(Long value) {
            addCriterion("finish_time >=", value, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeLessThan(Long value) {
            addCriterion("finish_time <", value, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeLessThanOrEqualTo(Long value) {
            addCriterion("finish_time <=", value, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeIn(List<Long> values) {
            addCriterion("finish_time in", values, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeNotIn(List<Long> values) {
            addCriterion("finish_time not in", values, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeBetween(Long value1, Long value2) {
            addCriterion("finish_time between", value1, value2, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeNotBetween(Long value1, Long value2) {
            addCriterion("finish_time not between", value1, value2, "finishTime");
            return (Criteria) this;
        }

        public Criteria andSubjectIsNull() {
            addCriterion("subject is null");
            return (Criteria) this;
        }

        public Criteria andSubjectIsNotNull() {
            addCriterion("subject is not null");
            return (Criteria) this;
        }

        public Criteria andSubjectEqualTo(String value) {
            addCriterion("subject =", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectNotEqualTo(String value) {
            addCriterion("subject <>", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectGreaterThan(String value) {
            addCriterion("subject >", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectGreaterThanOrEqualTo(String value) {
            addCriterion("subject >=", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectLessThan(String value) {
            addCriterion("subject <", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectLessThanOrEqualTo(String value) {
            addCriterion("subject <=", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectLike(String value) {
            addCriterion("subject like", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectNotLike(String value) {
            addCriterion("subject not like", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectIn(List<String> values) {
            addCriterion("subject in", values, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectNotIn(List<String> values) {
            addCriterion("subject not in", values, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectBetween(String value1, String value2) {
            addCriterion("subject between", value1, value2, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectNotBetween(String value1, String value2) {
            addCriterion("subject not between", value1, value2, "subject");
            return (Criteria) this;
        }

        public Criteria andDescIsNull() {
            addCriterion("desc is null");
            return (Criteria) this;
        }

        public Criteria andDescIsNotNull() {
            addCriterion("desc is not null");
            return (Criteria) this;
        }

        public Criteria andDescEqualTo(String value) {
            addCriterion("desc =", value, "desc");
            return (Criteria) this;
        }

        public Criteria andDescNotEqualTo(String value) {
            addCriterion("desc <>", value, "desc");
            return (Criteria) this;
        }

        public Criteria andDescGreaterThan(String value) {
            addCriterion("desc >", value, "desc");
            return (Criteria) this;
        }

        public Criteria andDescGreaterThanOrEqualTo(String value) {
            addCriterion("desc >=", value, "desc");
            return (Criteria) this;
        }

        public Criteria andDescLessThan(String value) {
            addCriterion("desc <", value, "desc");
            return (Criteria) this;
        }

        public Criteria andDescLessThanOrEqualTo(String value) {
            addCriterion("desc <=", value, "desc");
            return (Criteria) this;
        }

        public Criteria andDescLike(String value) {
            addCriterion("desc like", value, "desc");
            return (Criteria) this;
        }

        public Criteria andDescNotLike(String value) {
            addCriterion("desc not like", value, "desc");
            return (Criteria) this;
        }

        public Criteria andDescIn(List<String> values) {
            addCriterion("desc in", values, "desc");
            return (Criteria) this;
        }

        public Criteria andDescNotIn(List<String> values) {
            addCriterion("desc not in", values, "desc");
            return (Criteria) this;
        }

        public Criteria andDescBetween(String value1, String value2) {
            addCriterion("desc between", value1, value2, "desc");
            return (Criteria) this;
        }

        public Criteria andDescNotBetween(String value1, String value2) {
            addCriterion("desc not between", value1, value2, "desc");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayIsNull() {
            addCriterion("channel_payway is null");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayIsNotNull() {
            addCriterion("channel_payway is not null");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayEqualTo(String value) {
            addCriterion("channel_payway =", value, "channelPayway");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayNotEqualTo(String value) {
            addCriterion("channel_payway <>", value, "channelPayway");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayGreaterThan(String value) {
            addCriterion("channel_payway >", value, "channelPayway");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayGreaterThanOrEqualTo(String value) {
            addCriterion("channel_payway >=", value, "channelPayway");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayLessThan(String value) {
            addCriterion("channel_payway <", value, "channelPayway");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayLessThanOrEqualTo(String value) {
            addCriterion("channel_payway <=", value, "channelPayway");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayLike(String value) {
            addCriterion("channel_payway like", value, "channelPayway");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayNotLike(String value) {
            addCriterion("channel_payway not like", value, "channelPayway");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayIn(List<String> values) {
            addCriterion("channel_payway in", values, "channelPayway");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayNotIn(List<String> values) {
            addCriterion("channel_payway not in", values, "channelPayway");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayBetween(String value1, String value2) {
            addCriterion("channel_payway between", value1, value2, "channelPayway");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayNotBetween(String value1, String value2) {
            addCriterion("channel_payway not between", value1, value2, "channelPayway");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayNameIsNull() {
            addCriterion("channel_payway_name is null");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayNameIsNotNull() {
            addCriterion("channel_payway_name is not null");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayNameEqualTo(String value) {
            addCriterion("channel_payway_name =", value, "channelPaywayName");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayNameNotEqualTo(String value) {
            addCriterion("channel_payway_name <>", value, "channelPaywayName");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayNameGreaterThan(String value) {
            addCriterion("channel_payway_name >", value, "channelPaywayName");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayNameGreaterThanOrEqualTo(String value) {
            addCriterion("channel_payway_name >=", value, "channelPaywayName");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayNameLessThan(String value) {
            addCriterion("channel_payway_name <", value, "channelPaywayName");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayNameLessThanOrEqualTo(String value) {
            addCriterion("channel_payway_name <=", value, "channelPaywayName");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayNameLike(String value) {
            addCriterion("channel_payway_name like", value, "channelPaywayName");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayNameNotLike(String value) {
            addCriterion("channel_payway_name not like", value, "channelPaywayName");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayNameIn(List<String> values) {
            addCriterion("channel_payway_name in", values, "channelPaywayName");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayNameNotIn(List<String> values) {
            addCriterion("channel_payway_name not in", values, "channelPaywayName");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayNameBetween(String value1, String value2) {
            addCriterion("channel_payway_name between", value1, value2, "channelPaywayName");
            return (Criteria) this;
        }

        public Criteria andChannelPaywayNameNotBetween(String value1, String value2) {
            addCriterion("channel_payway_name not between", value1, value2, "channelPaywayName");
            return (Criteria) this;
        }

        public Criteria andAccountIsNull() {
            addCriterion("account is null");
            return (Criteria) this;
        }

        public Criteria andAccountIsNotNull() {
            addCriterion("account is not null");
            return (Criteria) this;
        }

        public Criteria andAccountEqualTo(String value) {
            addCriterion("account =", value, "account");
            return (Criteria) this;
        }

        public Criteria andAccountNotEqualTo(String value) {
            addCriterion("account <>", value, "account");
            return (Criteria) this;
        }

        public Criteria andAccountGreaterThan(String value) {
            addCriterion("account >", value, "account");
            return (Criteria) this;
        }

        public Criteria andAccountGreaterThanOrEqualTo(String value) {
            addCriterion("account >=", value, "account");
            return (Criteria) this;
        }

        public Criteria andAccountLessThan(String value) {
            addCriterion("account <", value, "account");
            return (Criteria) this;
        }

        public Criteria andAccountLessThanOrEqualTo(String value) {
            addCriterion("account <=", value, "account");
            return (Criteria) this;
        }

        public Criteria andAccountLike(String value) {
            addCriterion("account like", value, "account");
            return (Criteria) this;
        }

        public Criteria andAccountNotLike(String value) {
            addCriterion("account not like", value, "account");
            return (Criteria) this;
        }

        public Criteria andAccountIn(List<String> values) {
            addCriterion("account in", values, "account");
            return (Criteria) this;
        }

        public Criteria andAccountNotIn(List<String> values) {
            addCriterion("account not in", values, "account");
            return (Criteria) this;
        }

        public Criteria andAccountBetween(String value1, String value2) {
            addCriterion("account between", value1, value2, "account");
            return (Criteria) this;
        }

        public Criteria andAccountNotBetween(String value1, String value2) {
            addCriterion("account not between", value1, value2, "account");
            return (Criteria) this;
        }

        public Criteria andPayerUidIsNull() {
            addCriterion("payer_uid is null");
            return (Criteria) this;
        }

        public Criteria andPayerUidIsNotNull() {
            addCriterion("payer_uid is not null");
            return (Criteria) this;
        }

        public Criteria andPayerUidEqualTo(String value) {
            addCriterion("payer_uid =", value, "payerUid");
            return (Criteria) this;
        }

        public Criteria andPayerUidNotEqualTo(String value) {
            addCriterion("payer_uid <>", value, "payerUid");
            return (Criteria) this;
        }

        public Criteria andPayerUidGreaterThan(String value) {
            addCriterion("payer_uid >", value, "payerUid");
            return (Criteria) this;
        }

        public Criteria andPayerUidGreaterThanOrEqualTo(String value) {
            addCriterion("payer_uid >=", value, "payerUid");
            return (Criteria) this;
        }

        public Criteria andPayerUidLessThan(String value) {
            addCriterion("payer_uid <", value, "payerUid");
            return (Criteria) this;
        }

        public Criteria andPayerUidLessThanOrEqualTo(String value) {
            addCriterion("payer_uid <=", value, "payerUid");
            return (Criteria) this;
        }

        public Criteria andPayerUidLike(String value) {
            addCriterion("payer_uid like", value, "payerUid");
            return (Criteria) this;
        }

        public Criteria andPayerUidNotLike(String value) {
            addCriterion("payer_uid not like", value, "payerUid");
            return (Criteria) this;
        }

        public Criteria andPayerUidIn(List<String> values) {
            addCriterion("payer_uid in", values, "payerUid");
            return (Criteria) this;
        }

        public Criteria andPayerUidNotIn(List<String> values) {
            addCriterion("payer_uid not in", values, "payerUid");
            return (Criteria) this;
        }

        public Criteria andPayerUidBetween(String value1, String value2) {
            addCriterion("payer_uid between", value1, value2, "payerUid");
            return (Criteria) this;
        }

        public Criteria andPayerUidNotBetween(String value1, String value2) {
            addCriterion("payer_uid not between", value1, value2, "payerUid");
            return (Criteria) this;
        }

        public Criteria andPayerLoginIsNull() {
            addCriterion("payer_login is null");
            return (Criteria) this;
        }

        public Criteria andPayerLoginIsNotNull() {
            addCriterion("payer_login is not null");
            return (Criteria) this;
        }

        public Criteria andPayerLoginEqualTo(String value) {
            addCriterion("payer_login =", value, "payerLogin");
            return (Criteria) this;
        }

        public Criteria andPayerLoginNotEqualTo(String value) {
            addCriterion("payer_login <>", value, "payerLogin");
            return (Criteria) this;
        }

        public Criteria andPayerLoginGreaterThan(String value) {
            addCriterion("payer_login >", value, "payerLogin");
            return (Criteria) this;
        }

        public Criteria andPayerLoginGreaterThanOrEqualTo(String value) {
            addCriterion("payer_login >=", value, "payerLogin");
            return (Criteria) this;
        }

        public Criteria andPayerLoginLessThan(String value) {
            addCriterion("payer_login <", value, "payerLogin");
            return (Criteria) this;
        }

        public Criteria andPayerLoginLessThanOrEqualTo(String value) {
            addCriterion("payer_login <=", value, "payerLogin");
            return (Criteria) this;
        }

        public Criteria andPayerLoginLike(String value) {
            addCriterion("payer_login like", value, "payerLogin");
            return (Criteria) this;
        }

        public Criteria andPayerLoginNotLike(String value) {
            addCriterion("payer_login not like", value, "payerLogin");
            return (Criteria) this;
        }

        public Criteria andPayerLoginIn(List<String> values) {
            addCriterion("payer_login in", values, "payerLogin");
            return (Criteria) this;
        }

        public Criteria andPayerLoginNotIn(List<String> values) {
            addCriterion("payer_login not in", values, "payerLogin");
            return (Criteria) this;
        }

        public Criteria andPayerLoginBetween(String value1, String value2) {
            addCriterion("payer_login between", value1, value2, "payerLogin");
            return (Criteria) this;
        }

        public Criteria andPayerLoginNotBetween(String value1, String value2) {
            addCriterion("payer_login not between", value1, value2, "payerLogin");
            return (Criteria) this;
        }

        public Criteria andLastErrorMessageIsNull() {
            addCriterion("last_error_message is null");
            return (Criteria) this;
        }

        public Criteria andLastErrorMessageIsNotNull() {
            addCriterion("last_error_message is not null");
            return (Criteria) this;
        }

        public Criteria andLastErrorMessageEqualTo(String value) {
            addCriterion("last_error_message =", value, "lastErrorMessage");
            return (Criteria) this;
        }

        public Criteria andLastErrorMessageNotEqualTo(String value) {
            addCriterion("last_error_message <>", value, "lastErrorMessage");
            return (Criteria) this;
        }

        public Criteria andLastErrorMessageGreaterThan(String value) {
            addCriterion("last_error_message >", value, "lastErrorMessage");
            return (Criteria) this;
        }

        public Criteria andLastErrorMessageGreaterThanOrEqualTo(String value) {
            addCriterion("last_error_message >=", value, "lastErrorMessage");
            return (Criteria) this;
        }

        public Criteria andLastErrorMessageLessThan(String value) {
            addCriterion("last_error_message <", value, "lastErrorMessage");
            return (Criteria) this;
        }

        public Criteria andLastErrorMessageLessThanOrEqualTo(String value) {
            addCriterion("last_error_message <=", value, "lastErrorMessage");
            return (Criteria) this;
        }

        public Criteria andLastErrorMessageLike(String value) {
            addCriterion("last_error_message like", value, "lastErrorMessage");
            return (Criteria) this;
        }

        public Criteria andLastErrorMessageNotLike(String value) {
            addCriterion("last_error_message not like", value, "lastErrorMessage");
            return (Criteria) this;
        }

        public Criteria andLastErrorMessageIn(List<String> values) {
            addCriterion("last_error_message in", values, "lastErrorMessage");
            return (Criteria) this;
        }

        public Criteria andLastErrorMessageNotIn(List<String> values) {
            addCriterion("last_error_message not in", values, "lastErrorMessage");
            return (Criteria) this;
        }

        public Criteria andLastErrorMessageBetween(String value1, String value2) {
            addCriterion("last_error_message between", value1, value2, "lastErrorMessage");
            return (Criteria) this;
        }

        public Criteria andLastErrorMessageNotBetween(String value1, String value2) {
            addCriterion("last_error_message not between", value1, value2, "lastErrorMessage");
            return (Criteria) this;
        }

        public Criteria andLastErrorTimeIsNull() {
            addCriterion("last_error_time is null");
            return (Criteria) this;
        }

        public Criteria andLastErrorTimeIsNotNull() {
            addCriterion("last_error_time is not null");
            return (Criteria) this;
        }

        public Criteria andLastErrorTimeEqualTo(Long value) {
            addCriterion("last_error_time =", value, "lastErrorTime");
            return (Criteria) this;
        }

        public Criteria andLastErrorTimeNotEqualTo(Long value) {
            addCriterion("last_error_time <>", value, "lastErrorTime");
            return (Criteria) this;
        }

        public Criteria andLastErrorTimeGreaterThan(Long value) {
            addCriterion("last_error_time >", value, "lastErrorTime");
            return (Criteria) this;
        }

        public Criteria andLastErrorTimeGreaterThanOrEqualTo(Long value) {
            addCriterion("last_error_time >=", value, "lastErrorTime");
            return (Criteria) this;
        }

        public Criteria andLastErrorTimeLessThan(Long value) {
            addCriterion("last_error_time <", value, "lastErrorTime");
            return (Criteria) this;
        }

        public Criteria andLastErrorTimeLessThanOrEqualTo(Long value) {
            addCriterion("last_error_time <=", value, "lastErrorTime");
            return (Criteria) this;
        }

        public Criteria andLastErrorTimeIn(List<Long> values) {
            addCriterion("last_error_time in", values, "lastErrorTime");
            return (Criteria) this;
        }

        public Criteria andLastErrorTimeNotIn(List<Long> values) {
            addCriterion("last_error_time not in", values, "lastErrorTime");
            return (Criteria) this;
        }

        public Criteria andLastErrorTimeBetween(Long value1, Long value2) {
            addCriterion("last_error_time between", value1, value2, "lastErrorTime");
            return (Criteria) this;
        }

        public Criteria andLastErrorTimeNotBetween(Long value1, Long value2) {
            addCriterion("last_error_time not between", value1, value2, "lastErrorTime");
            return (Criteria) this;
        }

        public Criteria andRefundTimeIsNull() {
            addCriterion("refund_time is null");
            return (Criteria) this;
        }

        public Criteria andRefundTimeIsNotNull() {
            addCriterion("refund_time is not null");
            return (Criteria) this;
        }

        public Criteria andRefundTimeEqualTo(Long value) {
            addCriterion("refund_time =", value, "refundTime");
            return (Criteria) this;
        }

        public Criteria andRefundTimeNotEqualTo(Long value) {
            addCriterion("refund_time <>", value, "refundTime");
            return (Criteria) this;
        }

        public Criteria andRefundTimeGreaterThan(Long value) {
            addCriterion("refund_time >", value, "refundTime");
            return (Criteria) this;
        }

        public Criteria andRefundTimeGreaterThanOrEqualTo(Long value) {
            addCriterion("refund_time >=", value, "refundTime");
            return (Criteria) this;
        }

        public Criteria andRefundTimeLessThan(Long value) {
            addCriterion("refund_time <", value, "refundTime");
            return (Criteria) this;
        }

        public Criteria andRefundTimeLessThanOrEqualTo(Long value) {
            addCriterion("refund_time <=", value, "refundTime");
            return (Criteria) this;
        }

        public Criteria andRefundTimeIn(List<Long> values) {
            addCriterion("refund_time in", values, "refundTime");
            return (Criteria) this;
        }

        public Criteria andRefundTimeNotIn(List<Long> values) {
            addCriterion("refund_time not in", values, "refundTime");
            return (Criteria) this;
        }

        public Criteria andRefundTimeBetween(Long value1, Long value2) {
            addCriterion("refund_time between", value1, value2, "refundTime");
            return (Criteria) this;
        }

        public Criteria andRefundTimeNotBetween(Long value1, Long value2) {
            addCriterion("refund_time not between", value1, value2, "refundTime");
            return (Criteria) this;
        }

        public Criteria andRefundAmountIsNull() {
            addCriterion("refund_amount is null");
            return (Criteria) this;
        }

        public Criteria andRefundAmountIsNotNull() {
            addCriterion("refund_amount is not null");
            return (Criteria) this;
        }

        public Criteria andRefundAmountEqualTo(BigDecimal value) {
            addCriterion("refund_amount =", value, "refundAmount");
            return (Criteria) this;
        }

        public Criteria andRefundAmountNotEqualTo(BigDecimal value) {
            addCriterion("refund_amount <>", value, "refundAmount");
            return (Criteria) this;
        }

        public Criteria andRefundAmountGreaterThan(BigDecimal value) {
            addCriterion("refund_amount >", value, "refundAmount");
            return (Criteria) this;
        }

        public Criteria andRefundAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("refund_amount >=", value, "refundAmount");
            return (Criteria) this;
        }

        public Criteria andRefundAmountLessThan(BigDecimal value) {
            addCriterion("refund_amount <", value, "refundAmount");
            return (Criteria) this;
        }

        public Criteria andRefundAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("refund_amount <=", value, "refundAmount");
            return (Criteria) this;
        }

        public Criteria andRefundAmountIn(List<BigDecimal> values) {
            addCriterion("refund_amount in", values, "refundAmount");
            return (Criteria) this;
        }

        public Criteria andRefundAmountNotIn(List<BigDecimal> values) {
            addCriterion("refund_amount not in", values, "refundAmount");
            return (Criteria) this;
        }

        public Criteria andRefundAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("refund_amount between", value1, value2, "refundAmount");
            return (Criteria) this;
        }

        public Criteria andRefundAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("refund_amount not between", value1, value2, "refundAmount");
            return (Criteria) this;
        }

        public Criteria andRefundOperatorIsNull() {
            addCriterion("refund_operator is null");
            return (Criteria) this;
        }

        public Criteria andRefundOperatorIsNotNull() {
            addCriterion("refund_operator is not null");
            return (Criteria) this;
        }

        public Criteria andRefundOperatorEqualTo(String value) {
            addCriterion("refund_operator =", value, "refundOperator");
            return (Criteria) this;
        }

        public Criteria andRefundOperatorNotEqualTo(String value) {
            addCriterion("refund_operator <>", value, "refundOperator");
            return (Criteria) this;
        }

        public Criteria andRefundOperatorGreaterThan(String value) {
            addCriterion("refund_operator >", value, "refundOperator");
            return (Criteria) this;
        }

        public Criteria andRefundOperatorGreaterThanOrEqualTo(String value) {
            addCriterion("refund_operator >=", value, "refundOperator");
            return (Criteria) this;
        }

        public Criteria andRefundOperatorLessThan(String value) {
            addCriterion("refund_operator <", value, "refundOperator");
            return (Criteria) this;
        }

        public Criteria andRefundOperatorLessThanOrEqualTo(String value) {
            addCriterion("refund_operator <=", value, "refundOperator");
            return (Criteria) this;
        }

        public Criteria andRefundOperatorLike(String value) {
            addCriterion("refund_operator like", value, "refundOperator");
            return (Criteria) this;
        }

        public Criteria andRefundOperatorNotLike(String value) {
            addCriterion("refund_operator not like", value, "refundOperator");
            return (Criteria) this;
        }

        public Criteria andRefundOperatorIn(List<String> values) {
            addCriterion("refund_operator in", values, "refundOperator");
            return (Criteria) this;
        }

        public Criteria andRefundOperatorNotIn(List<String> values) {
            addCriterion("refund_operator not in", values, "refundOperator");
            return (Criteria) this;
        }

        public Criteria andRefundOperatorBetween(String value1, String value2) {
            addCriterion("refund_operator between", value1, value2, "refundOperator");
            return (Criteria) this;
        }

        public Criteria andRefundOperatorNotBetween(String value1, String value2) {
            addCriterion("refund_operator not between", value1, value2, "refundOperator");
            return (Criteria) this;
        }

        public Criteria andRefundRequestNoIsNull() {
            addCriterion("refund_request_no is null");
            return (Criteria) this;
        }

        public Criteria andRefundRequestNoIsNotNull() {
            addCriterion("refund_request_no is not null");
            return (Criteria) this;
        }

        public Criteria andRefundRequestNoEqualTo(String value) {
            addCriterion("refund_request_no =", value, "refundRequestNo");
            return (Criteria) this;
        }

        public Criteria andRefundRequestNoNotEqualTo(String value) {
            addCriterion("refund_request_no <>", value, "refundRequestNo");
            return (Criteria) this;
        }

        public Criteria andRefundRequestNoGreaterThan(String value) {
            addCriterion("refund_request_no >", value, "refundRequestNo");
            return (Criteria) this;
        }

        public Criteria andRefundRequestNoGreaterThanOrEqualTo(String value) {
            addCriterion("refund_request_no >=", value, "refundRequestNo");
            return (Criteria) this;
        }

        public Criteria andRefundRequestNoLessThan(String value) {
            addCriterion("refund_request_no <", value, "refundRequestNo");
            return (Criteria) this;
        }

        public Criteria andRefundRequestNoLessThanOrEqualTo(String value) {
            addCriterion("refund_request_no <=", value, "refundRequestNo");
            return (Criteria) this;
        }

        public Criteria andRefundRequestNoLike(String value) {
            addCriterion("refund_request_no like", value, "refundRequestNo");
            return (Criteria) this;
        }

        public Criteria andRefundRequestNoNotLike(String value) {
            addCriterion("refund_request_no not like", value, "refundRequestNo");
            return (Criteria) this;
        }

        public Criteria andRefundRequestNoIn(List<String> values) {
            addCriterion("refund_request_no in", values, "refundRequestNo");
            return (Criteria) this;
        }

        public Criteria andRefundRequestNoNotIn(List<String> values) {
            addCriterion("refund_request_no not in", values, "refundRequestNo");
            return (Criteria) this;
        }

        public Criteria andRefundRequestNoBetween(String value1, String value2) {
            addCriterion("refund_request_no between", value1, value2, "refundRequestNo");
            return (Criteria) this;
        }

        public Criteria andRefundRequestNoNotBetween(String value1, String value2) {
            addCriterion("refund_request_no not between", value1, value2, "refundRequestNo");
            return (Criteria) this;
        }

        public Criteria andRefundStatusIsNull() {
            addCriterion("refund_status is null");
            return (Criteria) this;
        }

        public Criteria andRefundStatusIsNotNull() {
            addCriterion("refund_status is not null");
            return (Criteria) this;
        }

        public Criteria andRefundStatusEqualTo(String value) {
            addCriterion("refund_status =", value, "refundStatus");
            return (Criteria) this;
        }

        public Criteria andRefundStatusNotEqualTo(String value) {
            addCriterion("refund_status <>", value, "refundStatus");
            return (Criteria) this;
        }

        public Criteria andRefundStatusGreaterThan(String value) {
            addCriterion("refund_status >", value, "refundStatus");
            return (Criteria) this;
        }

        public Criteria andRefundStatusGreaterThanOrEqualTo(String value) {
            addCriterion("refund_status >=", value, "refundStatus");
            return (Criteria) this;
        }

        public Criteria andRefundStatusLessThan(String value) {
            addCriterion("refund_status <", value, "refundStatus");
            return (Criteria) this;
        }

        public Criteria andRefundStatusLessThanOrEqualTo(String value) {
            addCriterion("refund_status <=", value, "refundStatus");
            return (Criteria) this;
        }

        public Criteria andRefundStatusLike(String value) {
            addCriterion("refund_status like", value, "refundStatus");
            return (Criteria) this;
        }

        public Criteria andRefundStatusNotLike(String value) {
            addCriterion("refund_status not like", value, "refundStatus");
            return (Criteria) this;
        }

        public Criteria andRefundStatusIn(List<String> values) {
            addCriterion("refund_status in", values, "refundStatus");
            return (Criteria) this;
        }

        public Criteria andRefundStatusNotIn(List<String> values) {
            addCriterion("refund_status not in", values, "refundStatus");
            return (Criteria) this;
        }

        public Criteria andRefundStatusBetween(String value1, String value2) {
            addCriterion("refund_status between", value1, value2, "refundStatus");
            return (Criteria) this;
        }

        public Criteria andRefundStatusNotBetween(String value1, String value2) {
            addCriterion("refund_status not between", value1, value2, "refundStatus");
            return (Criteria) this;
        }

        public Criteria andRefundReasonIsNull() {
            addCriterion("refund_reason is null");
            return (Criteria) this;
        }

        public Criteria andRefundReasonIsNotNull() {
            addCriterion("refund_reason is not null");
            return (Criteria) this;
        }

        public Criteria andRefundReasonEqualTo(String value) {
            addCriterion("refund_reason =", value, "refundReason");
            return (Criteria) this;
        }

        public Criteria andRefundReasonNotEqualTo(String value) {
            addCriterion("refund_reason <>", value, "refundReason");
            return (Criteria) this;
        }

        public Criteria andRefundReasonGreaterThan(String value) {
            addCriterion("refund_reason >", value, "refundReason");
            return (Criteria) this;
        }

        public Criteria andRefundReasonGreaterThanOrEqualTo(String value) {
            addCriterion("refund_reason >=", value, "refundReason");
            return (Criteria) this;
        }

        public Criteria andRefundReasonLessThan(String value) {
            addCriterion("refund_reason <", value, "refundReason");
            return (Criteria) this;
        }

        public Criteria andRefundReasonLessThanOrEqualTo(String value) {
            addCriterion("refund_reason <=", value, "refundReason");
            return (Criteria) this;
        }

        public Criteria andRefundReasonLike(String value) {
            addCriterion("refund_reason like", value, "refundReason");
            return (Criteria) this;
        }

        public Criteria andRefundReasonNotLike(String value) {
            addCriterion("refund_reason not like", value, "refundReason");
            return (Criteria) this;
        }

        public Criteria andRefundReasonIn(List<String> values) {
            addCriterion("refund_reason in", values, "refundReason");
            return (Criteria) this;
        }

        public Criteria andRefundReasonNotIn(List<String> values) {
            addCriterion("refund_reason not in", values, "refundReason");
            return (Criteria) this;
        }

        public Criteria andRefundReasonBetween(String value1, String value2) {
            addCriterion("refund_reason between", value1, value2, "refundReason");
            return (Criteria) this;
        }

        public Criteria andRefundReasonNotBetween(String value1, String value2) {
            addCriterion("refund_reason not between", value1, value2, "refundReason");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria implements Serializable {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion implements Serializable {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}
